package com.itheima.xinxi.system.service;

import com.itheima.xinxi.system.dao.BaseStudentDao;
import com.itheima.xinxi.system.domain.Student;
import com.itheima.xinxi.system.factory.Factory;

/**
 * 学生业务处理类
 */
public class StudentService {
    //创建dao对象 调用方法
   //private OtherStudentDao studentDao = new OtherStudentDao();
    private BaseStudentDao studentDao = Factory.getStudentDao();

    //定义方法 添加学生
    //参数  Student student
    //返回值类型boolean
    public  boolean addStudent(Student student){

        return studentDao.addStudent(student);
    }

    /**
     * 判断学号是否存在
     * @param id controller 传过来的id
     * @return
     */
    public boolean isExits(String id) {
        //获取所有学生对象
        Student[] stus=studentDao.findAllStudents();
        //遍历数组
        for (int i = 0; i < stus.length; i++) {
            //   //获取到每一个学生对象  对比 如果相同 返回true
            //stus[i]
            Student stu = stus[i];
            if(stu!=null&&id.equals(stu.getId())){
                return true;
            }
        }
        //不同返回false
        return false;
    }

    public Student[] findAllStudents() {
        Student[] stus = studentDao.findAllStudents();
        //判断数组是否有数据

        for (int i = 0; i < stus.length; i++) {
            //stus[i]
            if(stus[i]!=null){
                return stus;
            }
        }
        return null;



    }

    /**
     * 删除学生 根据id
     * @param id  用户录入的id 此时已经确定它存在
     */
    public void deleteStudentById(String id) {
        studentDao.deleteStudentById(id);

    }

    /**
     * 修改学生
     * @param id  用户录入的id
     * @param student  用户重新组织的学生信息
     */
    public void updateStudent(String id, Student student) {

        studentDao.updateStudent(id,student);
    }
}
